本篇文章同步發布於 Python pandas 刪除 DataFrame 資料 【Python 處理 Excel #10】
這篇文章分享如何刪除 DataFrame 的資料,包含如何刪除特定列或行、如何刪除缺失值,以及如何刪除 DataFrame 中重複的資料。
文章中使用 example.xlsx 作為說明用的案例資料。example.xlsx 的內容如下:
order_id | order_quantity | unit_price |
---|---|---|
10000 | 45 | 1000 |
10001 | 165 | 1000 |
10002 | 1200 | |
10003 | 120 | 1000 |
10003 | 120 | 1000 |
例如想刪除 DataFrame 中索引為 2 的列:
import pandas as pd
# 從 Excel 檔案讀取資料
df = pd.read_excel('example.xlsx')
# 顯示原始資料
print("原始資料:")
print(df)
# 刪除索引為 2 的列
df = df.drop(index=2)
print("\n刪除索引為 2 的列後的資料:")
print(df)
drop(index=2):這段程式碼指定要刪除的列索引為 2。
如果想要刪除多筆列資料,可以將列的索引整理放在列表傳遞給 drop()
方法。例如刪除索引為 1 和 3 的列:
import pandas as pd
# 從 Excel 檔案讀取資料
df = pd.read_excel('example.xlsx')
# 顯示原始資料
print("原始資料:")
print(df)
# 刪除索引為 1 和 3 的列
df = df.drop(index=[1, 3])
print("刪除索引為 1 和 3 的列後的資料:")
print(df)
例如想刪除 DataFrame 中 order_quantity
這個欄位:
import pandas as pd
# 從 Excel 檔案讀取資料
df = pd.read_excel('example.xlsx')
# 顯示原始資料
print("原始資料:")
print(df)
# 刪除 order_quantity 這個欄位
df = df.drop(columns='order_quantity')
print("\n刪除 'order_quantity' 後的資料:")
print(df)
drop(columns='order_quantity'):這段程式碼指定要刪除的欄位名為 order_quantity
。
如果想要刪除多個欄位,可以將欄位的名稱整理放在列表傳遞給 drop()
方法。例如刪除 order_quantity
和 unit_price
列:
import pandas as pd
# 從 Excel 檔案讀取資料
df = pd.read_excel('example.xlsx')
# 顯示原始資料
print("原始資料:")
print(df)
# 刪除 'order_quantity' 和 'unit_price'
df = df.drop(columns=['order_quantity', 'unit_price'])
print("\n刪除 'order_quantity' 和 'unit_price' 後的資料:")
print(df)
drop()
方法預設返回一個新的 DataFrame,原始 DataFrame 不會被修改。如果使用 inplace=True
參數,則原始 DataFrame 將被修改,且不會返回任何值。
例如直接在原始的 DataFrame 刪除第 1 列和第 2 列的資料:
import pandas as pd
# 從 Excel 檔案讀取資料
df = pd.read_excel('example.xlsx')
# 顯示原始資料
print("原始資料:")
print(df)
# 直接在原始 DataFrame 上刪除索引為 0 和 2 的列
df.drop(index=[0, 2], inplace=True)
print("\n直接在原始 DataFrame 上刪除索引為 0 和 2 的列後的資料:")
print(df)
之前介紹缺失值的文章提過 dropna()
方法可以刪除包含缺失值的列。例如:
import pandas as pd
# 從 Excel 檔案讀取資料
df = pd.read_excel('example.xlsx')
# 顯示原始資料
print("原始資料:")
print(df)
# 刪除包含缺失值的列
df = df.dropna()
print("\n刪除包含缺失值的列後的資料:")
print(df)
dropna()
方法還有一些參數可以控制刪除的方式:
any
(任何缺失值) 或 all
(所有值都是缺失值)。drop_duplicates()
方法可以刪除重複的列資料。例如:
import pandas as pd
# 從 Excel 檔案讀取資料
df = pd.read_excel('example.xlsx')
# 顯示原始資料
print("原始資料:")
print(df)
# 刪除重複的列
df = df.drop_duplicates()
print("\n刪除重複的列後的資料:")
print(df)
drop_duplicates():這段程式碼將刪除所有重複的列,只保留第一個出現的列。
drop()
方法刪除特定的列或行。dropna()
方法刪除缺失值。drop_duplicates()
方法刪除重複的列。本篇文章同步發布於 Python pandas 刪除 DataFrame 資料 【Python 處理 Excel #10】